package com.xyht.sca_s.student_manage_system.modules.leave.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xyht.sca_s.student_manage_system.common.commonReturn.ResponseResult;
import com.xyht.sca_s.student_manage_system.modules.leave.entity.SmsLeave;
import com.xyht.sca_s.student_manage_system.modules.leave.entity.req.SmsLeaveAddReq;
import com.xyht.sca_s.student_manage_system.modules.leave.entity.req.SmsLeaveAllowReq;
import com.xyht.sca_s.student_manage_system.modules.leave.entity.req.SmsLeaveConfirmResp;

/**
 * <p>
 * 请假管理 服务类
 * </p>
 *
 * @author XYHT
 * @since 2022-12-06
 */
public interface SmsLeaveService extends IService<SmsLeave> {
    ResponseResult addLeave(SmsLeaveAddReq smsLeaveAddReq,String user_id);
    ResponseResult applyLeaveCancel(SmsLeave smsLeave,String user_id);

    ResponseResult leaveAllow(SmsLeaveAllowReq smsLeaveAllowReq,String user_id);

    ResponseResult getLeaveDetail (String leave_id);
    ResponseResult studentGetLeaveList (Integer pageSize,Integer pageNum,String user_id);
    ResponseResult studentHistoryGetLeaveList (Integer pageSize,Integer pageNum,Integer allow_flag,String user_id,Integer leaveType,String bgDate,String endDate);
    ResponseResult teacherAllowGetLeaveList (Integer pageSize,Integer pageNum,String user_id,Integer leaveType,String applyName,String bgDate,String endDate);
    ResponseResult teacherHistoryGetLeaveList (Integer pageSize,Integer pageNum,Integer allow_flag,String user_id,Integer leaveType,String applyName,String bgDate,String endDate);

    ResponseResult leaveConfirm (SmsLeaveConfirmResp smsLeaveConfirmResp,String user_id);
}
